#ifndef _TYPEDEF_H_
#define _TYPEDEF_H_

#if !defined(_MSC_VER)
#include <stdint.h>
#else
typedef __int8 int8_t;
typedef __int16 int16_t;
typedef __int32 int32_t;
typedef __int64 int64_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
typedef unsigned __int64 uint64_t;
#endif

#include "define.h"

MMOSDK_NAMESPACE_BEGIN(mmo)

// base class for types that should not be assigned
class no_assign
{
    no_assign &operator=(const no_assign &);
};

// base class for types that should not be copied or assigned
class no_copy : no_assign
{
    no_copy(const no_copy &);
public:
    no_copy(){}
};

MMOSDK_NAMESPACE_END

#endif
